Error Detection techniques in communication network


Objectives : Student should be able to -

►   Data error in communication

Q1.  What is meant by Data error in Communication?

Q2.  Give the reasons for data communication errors.

Data communication error i.e. some of the bits may get corrupt while travelling through computer channels like wire due to -

1) Attenuation
2) Distortion
3) Channel noise

Q3.  Describe Single-bit and Burst error.

Single-bit error
  • Only one bit gets corrupted. Common in parallel transmission.
  • Burst error
  • More than one bits get corrupted. Very common in serial transmission of data. This error occurs when the duration of noise is long.
  • Q4.  State the difference between  Data Security  and  Data Integrity .

    Data Security
  • Data security refers to the protection of data against unauthorized access or accidental damage or lost.
  • Data Integrity
  • Data integrity refers to the validity (consistent) and accuracy (correctness) of data stored in the computer.
  • Each time data is replicated or transferred, it should remain error-free, intact and unaltered.
  • ►   Methods of Error detection

    Q5.  How error detection and correction is done?

    ⇒  Error can be detected by adding some extra information or bits with the data before transmission. Additional bits allows to detect the error.

    ⇒  Error correction is done by detection of error and re-transmission or re-construction of data to its original form.

    Q6.  Describe the following  Error detection methods .

    1)
    Parity check

    ⇒  A single bit called parity-bit is added with each byte of data in such a way that the number of 1's is either Even called Even-parity check or Odd called Odd-parity check, before transmission.

    ⇒  At the receiver end, parity-bit is re-calculated and compared with the received one.

    ⇒  If it matches then the data is considered error-free.

       
    2)
    Checksum

    ⇒  An extra data or value called Checksum, is added with the block of data before transmission to check its integrity.

    ⇒  It is calculated by using an agreed algorithm by sender and receiver of the data.

    ⇒  At receiver end, the checksum is recalculated and compared with the received one.

    ⇒  If it matches then the data is assumed as error-free.

       
    3)
    Check digit

    ⇒  A single digit called Check-digit is added with the numerical data to check its integrity while entering data into the computer.

    ⇒  It is calculated by adding other digits of the number using some algorithm.

    ⇒  At receiver end, the check-digit is recalculated and compared with the received one.

    ⇒  If it matches then the number is assumed as error-free.

       
    4)
    Automatic Repeat reQuest (ARQ)

    ⇒  An Error-detection scheme is combined with Acknowledgement and Timeout.

    ⇒  The data is checked using some Error-detecting code, if error is not detected then positive Acknowledgement is sent before timeout.

    ⇒  If Acknowledgement is not received before time out, the data is automatically re-transmitted.

    ⇒  This process repeats until error-free data is received.

       
    5)
    Echo check

    ⇒  An error checking technique where the data received is stored and also transmitted back to the sender.

    ⇒  The sender compares the two sets of data to check if any error occurred during the transmission process.

    ⇒  If there are no differences, then the data was sent without error.

    ⇒  If the two sets of data are different, then the data is re-transmitted.

    ⇒  This method is not very reliable, because it is not possible to known whether the error occurred when sending the data or while receiving back the data.



    1)   Parity Check

    Q1. a)  Desribe  Parity Check. 

    ⇒  A single bit called parity bit is added with each byte of data to check its integrity before transmission.

    ⇒  Parity bit is calculated in such a way that numbers of 1-bits should be either even called Even parity check or odd called Odd parity check depending on the type of check used.

    ⇒  At the receiver end parity-bit is re-calculated and compared with the received one. If it matches then the data is considered error free.

    b)  A system need to transmit the following data bits using  Even parity .

    1
    0
    0
    1
    0
    0
    0
    1

    Explain how to calculate the Parity-bit and add it to the data.

    ⇒  Count the number of 1's in the data which is 3 in the given data unit, a odd value.

    ⇒  If we add 1 as parity-bit, it will become even. Hence, 1 would be the parity-bit.

    1
    0
    0
    1
    0
    0
    0
    1
    1
    ← Parity-bit

    What would be the Parity-bit if the system uses  Odd Parity .

    ⇒  Count the number of 1's in the data which is 3 in the given data unit, a odd value.

    ⇒  If we add 0 as parity-bit, it will remain odd. Hence, 0 would be the parity-bit.

    1
    0
    0
    1
    0
    0
    0
    1
    0
    ← Parity-bit

    Q2.  Simple Parity check can only detect errors but cannot find exactly which bit is incorrect.

    a)  Describe how  Two dimensional parity  check could improve its performance.

    b)  Nine bytes of data are transmitted from one computer to another. Odd parity is used. An additional parity byte is also sent.
    The ten bytes arrive at the destination computer as follows:

    Serial

    One of the bits was corrupted during the data transmission.

    i)     Circle the corrupt bit  in the corrupt byte in the table above.

    ii)   Explain how the corrupted bit was found.

    Q3. a)  State the  usage of Parity Check  ?

    1. Parity bits are generally applied to the smallest units of a communication protocol, usually 8-bits or 1 Byte of data.
    2. A 7-bit ASCII characters adds up a parity-bit to accommodate each character in an 8-bit byte.
    3. Parity check is performed on memory every time a byte of data is read.
    4. Parity is used in many hardware applications, like the SCSI (Small Computer System Interface) and PCI (Peripheral Component Interconnect) Buses to detect transmission errors.

    b)  Describe the  situations  in which  Parity check may not identify that a bit has been transmitted incorrectly .

    1. Parity check cannot detect even number of bit errors called Transcription error, because it does not change its parity.
    2. Error cannot be detected if two or more bits interchanges its position called Transposition error, because it does not change its parity.

    Q4.  A parity block check can be used instead of a parity byte check.

    Explain how a  parity block check might detect an error  in transmission that a  parity byte check may not be able to detect. 

    ⇒  Parity-byte check, cannot detect the interchange of bits or even numbers of bit-errors.

    ⇒  But, Parity-block check can identify the interchange of bits or any bit-errors.

    ⇒  Parity-block check not only identifies that an error has occurred but also indicates the error-bit at the intersection of rows and column with error.



    2)   Checksum

    Q1. a)  Desribe  Checksum .

    ⇒  An extra data or value called Checksum is added with the block of data to be transmitted before transmission, to check its integrity.

    ⇒  Checksum is calculated from the block of data using an agreed algorithm by sender and receiver.

    ⇒  At the receiver end checksum is re-calculated and compared with the received one. If it matches then the data is considered error free.

    ⇒  If two checksum are not same, then error in data is detected and re-transmission of data is requested.

    b)  Give three  uses of Checksum .

    1. To check data integrity (data error) during transmission.
    2. To check data integrity of stored data to see if the data has been modified or changed.
    3. To verify data burned to CD or DVD is appropriate.

    Q2. a)  Desribe briefly  how Checksum is calculated .

    1. The Checksum is calculated by adding the decimal value of each character in the message.
    2. If the sum of the bytes is less than or equal to 255, then the byte-sum is taken as Checksum.
    3. If the byte-sum is greater than 255, then it is divided by 255 to get the remainder.
    4. And the remainder is then taken as the Cheksum.

    b)  Calculate the checksum for the block of data with the byte sum 1185.

    ⇒  Since byte-sum 1185 > 255 : divided 1185 by 255 to get the remainder.

    ⇒  1185 ÷ 255 gives 4 remainder 165.

    ⇒  Hence, 165 is the Checksum.



    3)   Check digit

    Q1. a)  Desribe  Check digit .

    ⇒  Check digit is a single digit added at right most end of a code number to check its integrity while entering numerical data into the computer.

    ⇒  It is calculated by adding other digits of the code using some check-digit algorithm.

    ⇒  At the receiver end it is recalculated using the same algorithm and compared with the received one.

    ⇒  If it matches then the code number is accepted, else rejected.

    b)  Suggest two  uses of check digits .

    Check digit is used as Validation check while entering the data into database.

    Example of its use -

    1. Barcode Number.
    2. ISBN Number.
    3. Credit Card Number.
    4. Bank Account Number.
    5. Vehicle Identification Number.
    6. Tax and Social ID Number.

    c)  Give two  types of error which can be detected  by using Check-digit.

    Error could be detected -

    1)    If two digits of the number interchanges its position called Transposition error.

    Example : 1 5 2 8 instead of 5 1 2 8.

    2)    If any digits are entered incorrectly called Transcription error.

    Example : 5 4 2 8 instead of 5 1 2 8.

    3)    If any digits are omitted or any extra digits are added.

    Example : 5 3 7 instead of 5 3 0 7 (Or) 5 3 1 0 7 instead of 5 3 0 7

    4)    If any phonetic error occurs.

    Example : 1 3 (thirteen), instead of 3 0 (thirty).

    Q2.  Checksum and check digit are two terms often confused by students.

    Describe three differences of the two techniques.

    1)    Checksum is used to spot error in transmitted data, whereas check digit is used to spot human error on data entry.

    2)    Checksum could be of any size, but check digit is a single digit.

    3)    Checksum could be used to verify all types of data, but check digit can only verify numerical data for change in digits.

    Q3.  Calculate the 'Check-digit' for the number given below; using  Modulo-11 check digit algorithm  which should be added to the end of the number to form 10-digit ISBN number that uniquely identifies books.

    1
    8
    5
    8
    1
    3
    4
    1
    5

    Modolus-11 weighted check digit system works as follows ;

    Working :

    10-digit ISBN
    :
    1
    8
    5
    8
    1
    3
    4
    1
    5
    ?
    Digit position
    :
    10
    9
    8
    7
    6
    5
    4
    3
    2
    1
    Weighted Sum
    :
    10 +72 +40+56 +6+ 15+16+ 3 +10=228

    Dividing 228 by 11 gives 20 with remainder 8.
    Check-digit11 - 8 = 3

    Valid 10-digit ISBN number is
    :
    1
    8
    5
    8
    1
    3
    4
    1
    5
    3

    Q4.  Calculate the 'Check-digit' for the number given below; using  ISBN-13 check digit algorithm  which should be added to the end of the number to form 13-digit ISBN number that uniquely identifies books.

    9
    7
    8
    0
    3
    4
    0
    9
    8
    3
    8
    2

    ISBN-13 check digit system works as follows ;

    Serial

    Working => Step-1 :
    9 + 8 + 3 + 0 + 8 + 8 =
    36
      Step-2 :
    (7 + 0 + 4 + 9 + 3 + 2) * 3 =
    75
      Step-3 : (36 + 75)/10 = 11 remainder 1
      Step-4 : 10 - 1 = 9 the Check digit.

    Valid 13-digit ISBN number is
    :
    9
    7
    8
    0
    3
    4
    0
    9
    8
    3
    8
    2
    9

      To check that an ISBN-13 digit code is corret or not; a similar process is followed ;
    Using ISBN above with its check-digit
    9
    7
    8
    0
    3
    4
    0
    9
    8
    3
    8
    2
    9

    Working => Step-1 :
    9 + 8 + 3 + 0 + 8 + 8 + 9 =
    45
      Step-2 :
    (7 + 0 + 4 + 9 + 3 + 2) * 3 =
    75
      Step-3 : (45 + 75)/10 = 12 remainder 0
      Remainder is 0, therefore the number is correct.


    4)   Echo check

    Q1. a)  Explain how  Echo checks  are used to check data following data transmission.

    ⇒  An error checking technique where the data received is stored and also transmitted back to the sender.

    ⇒  The sender compares the two sets of data to check if any error occurred during the transmission process.

    ⇒  If an error has occurred, then the data is re-transmitted again.

    ⇒  This method is not very reliable, because it is not possible to known whether the error occurred when sending the data or while receiving back the data.

    b)  Why is  Echo check not reliable  ?

    This method is not very reliable, because -

    1. It is not possible to known whether the error occurred when sending the data or while receiving back the data.
    2. Echo checks require a lot of extra data to be transmitted.


    5)   Automatic Repeat reQuest (ARQ)

    Q1.  Desribe  Automatic Repeat Request (ARQ) .

    ⇒  ARQ is an error control technique where an error detection scheme is combined with Acknowledgment and Timeout.

    ⇒  At the receiver end, the error detection scheme is used to detect whether the received data contains any transmission errors.

    ⇒  If no error is detected, a positive acknowledgement is sent back to the sending device.

    ⇒  If an Acknowledgement isn't send back to the sender before timeout occurs, then the message is automatically resent.

    ⇒  This may be done repeatedly, until the error-free data is received.

    Note : An ACKNOWLEDGEMENT is a message sent by the receiver indicating that the data has been received correctly.
      The TIMEOUT is the time allowed to elapse before an Acknowledgment is received.


    ►   Exam-style Questions

    Q1.  A company owns a number of vending machines. Data is sent from each of these machines at the end of the day. The data contains amount of money taken, products sold and any error conditions/reports.

    a)  The company uses both echo checking and automatic repeat requests (ARQs).

    (i)   Describe how echo checks work. Explain whether this is a suitable error checking method in this application.

    ⇒  The data received is stored and also transmitted back to the sender.

    ⇒  The sender compares the two sets of data to check if any error occurred during the transmission process.

    ⇒  If an error has occurred, then the data is re-transmitted again.

    ⇒  This method is not very reliable, because it is not possible to known whether the error occurred when sending the data or while receiving back the data. Echo checks require a lot of extra data to be transmitted.

    (ii)  Describe how automatic repeat request (ARQ) works.

    ⇒  ARQ is an error control technique where an error detection scheme is combined with Acknowledgment and Timeout.

    ⇒  At the receiver end, the error detection scheme is used to detect whether the received data contains any errors.

    ⇒  If no error is detected, a positive acknowledgement is sent to the sending device.

    ⇒  If an acknowledgement is not received by the sender before timeout occurs, then the message is automatically resent.

    ⇒  This may be done repeatedly, until the error-free data is received.

    b)  Checksum and check digit are two terms often confused by students.

    Describe three differences of the two techniques.

    1)    Checksum is used to spot error in transmitted data, whereas check digit is used to spot human error on data entry.

    2)    Checksum could be of any size, but check digit is a single digit.

    3)    Checksum could be used to verify all types of data, but check digit can only verify numerical data for change in digits.


    REVISION : Statements and its key computing terms.

    Parity check a method used to check if data has been transferred correctly; it makes use of even parity (an even number of 1-bits) or odd parity (an odd number of 1-bits)
    Parity bit a bit (either 0 or 1) added to a byte of data in the most significant bit position; this ensures that the byte follows the correct even parity or odd parity protocol.
    Parity block a horizontal and vertical parity check on a block of data being transmitted.
    Parity byte an extra byte of data sent at the end of a parity block; it is composed of the parity bits generated from a vertical parity check of the data block.
    Checksum a verification method used to check if data transferred has been altered or corrupted; calculated from the block of data being sent; the checksum value is sent with each block of data.
    Automatic Repeat Request (ARQ) a method of checking transmitted data for errors; it makes use of acknowledgement and timeout to automatically request re-sending of data if the time interval before positive acknowledgement is too long.
    Acknowledgement a message sent to the receiver indicating that data has been received correctly (used in the ARQ error detection method).
    Timeout the time interval allowed to elapse before an acknowledgement is received (in the ARQ error detection method).
    Echo check a method used to check if data has been transferred correctily; data is sent to a receiver and then immediately sent back to the sender; the sender then checks if the received data matches the sent data.
    Check digit an additional digit appended to a number to check if the entered number is error-free; check digit is a data entry check and not a data transmission check.



    Number of views : 2210
    * * * * * * * * *
    * * * * * *
    * * *
    *